home *** CD-ROM | disk | FTP | other *** search
/ Merciful 2 / Merciful - Disc 2.iso / software / k / kids7.dms / kids7.adf / pack.amos / pack.amosSourceCode < prev    next >
AMOS Source Code  |  1992-10-04  |  5KB  |  147 lines

  1. Dim GOODS(4)
  2. Global GOODS(),ZIPPED,LEVEL,SCORE,NAME$
  3. INST : ANT
  4. Procedure ANT
  5.    Music 1 : Unpack 10 To 0 : Screen Display 0,120,34,, : Double Buffer : Limit Mouse 330,247 To 400,250 : Set Font 3
  6.    Channel 1 To Bob 1 : Channel 2 To Bob 2 : Channel 10 To Bob 10 : Channel 11 To Bob 11
  7.    Bob 9,215,173,19 : Bob 10,197,169,20 : Bob 11,240,0,14 : Bob 1,330,185,18 : Wait Vbl 
  8.    A1$="A 0,(18,10)(17,10)" : A1$=A1$+"F RA=1 T 35; M -10,0,5; N RA;" : Amal 1,A1$ : Amal On 1
  9.    While Chanmv(1)
  10.       MK=Mouse Key : If MK>0 Then ZIP : MK=0
  11.    Wend 
  12.    Wait 10 : Amal Off 1
  13.    Bob 5,5,70,13 : Sam Play 6,5,7000 : Wait 10 : Bob 1,20,180,17 : Wait 25 : Bob 1,5,180,18 : Wait 50
  14.    THROW
  15. End Proc
  16. Procedure INST
  17.    STRIPPER
  18.    If Screen=0 Then Screen Close 0
  19.    Colour Back $BBB : Extension_5_0120 "kids-7:bits/bobs.abk",1
  20.    Screen Open 0,352,272,32,Lowres : Screen Display 0,120,34,, : Curs Off : Flash Off : Cls 21
  21.    Get Bob Palette : Get Fonts : Set Font 3 : For N=1 To 4 : GOODS(N)=0 : Next N : Ink 11,21
  22.    Text 110,48,"Click the zip."
  23.    A$="ONLY  pack  these "+Str$(LEVEL+1)+" . . ."
  24.    Text 30,118,A$
  25.    For N=1 To LEVEL : Read BX : Next N
  26.    Data 80,40,15
  27.    BY=130
  28.    For N=1 To LEVEL+1
  29.       Repeat 
  30.          K=True
  31.          X=Rnd(11)+1
  32.          For M=1 To N
  33.             If GOODS(M)=X
  34.                K=False
  35.             End If 
  36.          Next M
  37.       Until K=True
  38.       GOODS(N)=X
  39.       Paste Bob BX,BY,X : Add BX,80
  40.    Next N
  41.    K=0 : T=Timer : PB=35000
  42.    Repeat 
  43.       If Timer mod 25=0
  44.       If I=21 : I=3 Else I=21 : End If 
  45.       If PB=35000 : PB=20000 : Else PB=35000 : End If 
  46.          Ink I,21 : Text 30,118,"ONLY" : Wait Vbl : Sam Play 15,1,PB
  47.       End If 
  48.    Until Timer=>T+400
  49.    Screen Close 0
  50. End Proc
  51. Procedure THROW
  52.    A1$="M 245,-160,18" : A2$="A 2,(15,10)(16,10)(14,10)" : A3$="M 18,146,100"
  53.    A4$="L: M 30,0,30; P; M -30,0,50; P; J L;" : COUNT=0 : IC=0
  54.    Amal 1,A4$ : Amal On 1 : Dim PICKED(4) : For N=1 To 4 : PICKED(N)=0 : Next N
  55.    Do 
  56.       Repeat 
  57.          K=True
  58.          Add IC,1,1 To 12
  59.          For M=1 To LEVEL+1
  60.             If PICKED(M)=IC
  61.                K=False
  62.             End If 
  63.          Next M
  64.       Until K=True
  65.       Bob 2,-5,190,IC : Wait 3
  66.       Amal 2,A1$ : Amal On 2 : Sam Play 9,3,24000
  67.       While Chanmv(2)
  68.          MK=Mouse Key : If MK>0 Then ZIP : MK=0
  69.       Wend 
  70.       Amal 11,A2$ : Amal On 11 : Sam Play 9,6,2500 : Wait 10
  71.       Amal 2,A3$ : Amal On 2
  72.       While Chanmv(2)
  73.          MK=Mouse Key : If MK>0 Then ZIP : MK=0
  74.       Wend 
  75.       K=False
  76.       For N=1 To LEVEL+1
  77.          If GOODS(N)=IC
  78.             If Not ZIPPED : PICKED(N)=IC : End If 
  79.             K=True
  80.          End If 
  81.       Next N
  82.       If ZIPPED
  83.          Amal 2,"M -240,-180,20" : Amal On 2
  84.          If Not K
  85.             Sam Play 9,3,12000 : SCORE=SCORE+20
  86.          Else 
  87.             Sam Play 9,7,8000 : SCORE=SCORE-10
  88.          End If 
  89.       Else 
  90.          Amal Off 2 : Amal 2,"M 0,80,50" : Amal On 2 : While Chanmv(2) : Wend 
  91.          If Not K
  92.             Amal 2,"M 60,-270,20" : Amal On 2 : Sam Play 9,7,8000
  93.             While Chanmv(2) : Wend : Wait 3
  94.          Else 
  95.             Sam Play 9,4,10000 : Wait 5 : Inc COUNT
  96.          End If 
  97.       End If 
  98.       While Chanmv(2) : Wend : Amal Off 11 : Bob 11,240,0,14
  99.       MK=Mouse Key : If MK>0 Then ZIP : MK=0
  100.       Exit If COUNT=LEVEL+1
  101.       If ZIPPED Then ZIP
  102.       Wait 10
  103.    Loop 
  104.    Wait 25 : Amal Off : Music Off : Wait Vbl 
  105.    Dim STORE(31) : For N=0 To 31 : STORE(N)=Colour(N) : Next N
  106.    Fade 3,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,
  107.    Wait 45 : Cls 21 : Bob Off : For N=0 To 31 : Colour N,STORE(N) : Next N
  108.    Cls 21 : Ink 14,21 : Flash 3,"(f00,25)(bbb,25)"
  109.    Box 20,20 To 330,250 : Ink 13, : Box 19,19 To 331,251 : Ink 14, : Box 18,18 To 332,252
  110.    Ink 11,21
  111.    T$="Well  Done" : W=Text Length(T$)
  112.    Text(330-W)/2,100,T$
  113.    W=Text Length(NAME$)
  114.    Text(330-W)/2,129,NAME$
  115.    T$="Your  score:  "+Str$(SCORE) : W=Text Length(T$)
  116.    Text(330-W)/2,170,T$
  117.    Sam Play 15,3,10000 : Pen 3 : Paper 21
  118.    Locate ,28 : Centre "Click to continue"
  119.    Repeat : MK=Mouse Key : Until MK>0 : Cls 21
  120.    Text 50,100,"Off  we  go...."
  121.    A$=NAME$+"|"+Str$(LEVEL)+"/XXX\"+Str$(SCORE) : Command Line$=A$
  122.    Run "KIDS-7:travel.amos"
  123. End Proc
  124. Procedure ZIP
  125.    A5$="A 1,(21,1)(22,1)" : A6$="A 1,(21,1)(20,1)"
  126.    Sam Play 9,2,7000
  127.    If ZIPPED
  128.       '
  129.       '   OPEN           
  130.       '
  131.       Amal 10,A6$ : Amal On 10
  132.       ZIPPED=False : While Chanan(10) : Wend 
  133.       Wait Vbl : Bob 10,197,169,20 : Wait Vbl 
  134.    Else 
  135.       '
  136.       '   CLOSE  
  137.       '
  138.       Amal 10,A5$ : Amal On 10
  139.       ZIPPED=True : While Chanan(10) : Wend 
  140.       Wait Vbl : Bob 10,197,169,22 : Wait Vbl 
  141.    End If 
  142. End Proc
  143. Procedure STRIPPER
  144.    A$=Command Line$ : A=Instr(A$,"|") : B=Instr(A$,"/") : C=Instr(A$,"\") : L=Len(A$)
  145.    NAME$=Left$(A$,A-1) : L$=Mid$(A$,A+1,B-A-1) : LEVEL=Val(L$)
  146.    X$=Mid$(A$,B+1,C-B-1) : S$=Right$(A$,L-C) : SCORE=Val(S$)
  147. End Proc